#define  _CRT_SECURE_NO_WARNINGS 1
//
//#include <stdio.h>
//#include <string.h>
//
//void Reverse(char* str)
//{
//    char* left = str;
//    char* right = str + strlen(str) - 1;
//    while (left <= right)
//    {
//        char temp = *left;
//        *left = *right;
//        *right = temp;
//        ++left;
//        --right;
//    }
//}
//
//int main()
//{
//    char str[101] = { 0 };
//    while (gets(str))
//    {
//        Reverse(str);
//        printf("%s\n", str);
//    }
//    return 0;
//}


//#include <stdio.h>
//#include <string.h>
//
//void Reverse(char* str)
//{
//	char* left = str;
//	char* right = str + strlen(str) - 1;
//	while (left <= right)
//	{
//		char temp = *left;
//		*left = *right;
//		*right = temp;
//		left++;
//		right--;
//	}
//}
//
//int main()
//{
//	char str[101] = { 0 };
//	while (gets(str))
//	{
//		Reverse(str);
//		printf("%s\n", str);
//	}
//	return 0;
//}
//


//#include <stdio.h>
//#include <string.h>
//void LeftRound(char* str,int time)
//{
//	int i, j, temp;
//	int len = strlen(str);
//	time %= len;
//	for (i = 0; i < time; i++)
//	{
//		temp = str[0];
//		for (j = 0; j < len - 1; j++)
//		{
//			str[j] = str[j + 1];
//		}
//		str[j] = temp;
//	}
//}
//
//int main()
//{
//	char str[] = { 0 };
//	gets(str);
//	int k = 0;
//	scanf("%d", &k);
//	LeftRound(str, k);
//	printf("%s\n", str);
//	return 0;
//}


#include <stdio.h>
#include <string.h>

void LeftRound(char* str, int start, int end)
{
	int temp = 0;
	int i = start;
	int j = end;
	while (j <= i)
	{
		temp = str[i];
		str[i] = str[j];
		str[j] = temp;
		i++;
		j--;
	}
}

int main()
{
	char str[100] = { 0 };
	gets(str);
	int k = 0;
	scanf("%d", &k);
	int len = strlen(str);
	k %= len;
	LeftRound(str, 0, k - 1);
	LeftRound(str, k, len - 1);
	LeftRound(str, 0, len - 1);
	printf("%s\n", str);
	return 0;
}


